package com.smmisia.common.request.auth;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
public class MenuRequest {

    private Long menuId;
    /**
     * 菜单名称
     */
    @NotBlank(message = "菜单名称不能为空")
    private String menuName;

    /**
     * 父菜单ID
     */
    @NotBlank(message = "父菜单ID不能为空")
    private Long parentId;

    /**
     * 显示顺序
     */
    @NotNull(message = "显示顺序不能为空")
    private Integer orderNum;

    /**
     * 路由地址
     */
    @NotBlank(message = "路由地址不能为空")
    private String path;

    /**
     * 组件路径
     */
    @NotBlank(message = "组件路径不能为空")
    private String component;

    /**
     * 路由参数
     */
    @NotBlank(message = "路由参数不能为空")
    private String query;

    /**
     * 路由名称
     */
    @NotBlank(message = "路由名称不能为空")
    private String routeName;

    /**
     * 是否为外链（0是 1否）
     */
    @NotNull(message = "外链不能为空")
    private Integer isFrame;

    /**
     * 是否缓存（0缓存 1不缓存）
     */
    @NotNull(message = "缓存不能为空")
    private Integer isCache;

    /**
     * 菜单类型（M目录 C菜单 F按钮）
     */
    @NotBlank(message = "菜单类型不能为空")
    private String menuType;

    /**
     * 权限标识
     */
    @NotBlank(message = "权限标识不能为空")
    private String perms;

    /**
     * 菜单图标
     */
    @NotBlank(message = "菜单图标不能为空")
    private String icon;
}